package com.chinaisafe.user.service;

import com.chinaisafe.module.user.request.SysRoleReqVO;
import com.chinaisafe.module.user.response.SysRoleRespVO;
import com.chinaisafe.user.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * SysRoleService
 * Description：角色服务类
 *
 * @author tby
 * @date 2024-07-11 17:32:41
 */
public interface SysRoleService extends IService<SysRole> {
     /**
      * 根据条件获取角色分页列表
      * @param sysRoleReqVO 筛选参数
      * @return Page<SysRoleRespVO> 分页对象
      * @author tby
      * @date  2024-07-11 17:32:41
      */
     IPage<SysRoleRespVO> getPageList(SysRoleReqVO sysRoleReqVO);

     /**
      * 新增角色
      * @param sysRoleReqVO 新增参数
      * @return SysRoleRespVO 响应参数
      * @author tby
      * @date 2024-07-11 17:32:41
      */
      SysRoleRespVO add(SysRoleReqVO sysRoleReqVO);

     /**
      * 根据id编辑角色
      * @param sysRoleReqVO 修改参数
      * @return SysRoleRespVO 响应参数
      * @author tby
      * @date 2024-07-11 17:32:41
      */
      SysRoleRespVO update(SysRoleReqVO sysRoleReqVO);

     /**
      * 新增或修改角色
      * @param sysRoleReqVO 编辑修改参数
      * @return SysRoleRespVO 响应参数
      * @author tby
      * @date 2024-07-11 17:32:41
      */
      SysRoleRespVO addOrUpdate(SysRoleReqVO sysRoleReqVO);

     /**
      *  根据id获取角色详情信息
      * @param sysRoleId 数据id
      * @return SysRoleRespVO 响应参数
      * @author tby
      * @date 2024-07-11 17:32:41
      */
      SysRoleRespVO getDetailById(Long sysRoleId);

     /**
      * 根据id删除角色
      * @param sysRoleIds id数组
      * @author tby
      * @date 2024-07-11 17:32:41
      */
     void deleteByIds(Long[] sysRoleIds);
}
